#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include "admin_interface_show.h"
#include "member.h"
#include "Edit_Membership_Data.h"
#include "common.h"


void show_menu() 
{
	system("clear");
	printf("\n===== 游泳馆管理系统菜单 =====\n");
	printf("1. 新会员注册\n");
	printf("2. 会员注销\n");
	printf("3. 修改会员信息\n");
	printf("4. 查看会员信息\n");
	printf("5. 预留功能5\n");
	printf("6. 预留功能6\n");
	printf("7. 预留功能7\n");
	printf("0. 退出系统\n");
	printf("请管理员选择操作\n");
}


void admin_interface_show()
{
    int op;
    do {
        show_menu();
        printf("请输入操作：");
        if (scanf("%d", &op) != 1) {
            // 输入错误处理
            printf("输入错误，请重新输入！\n");
            while (getchar() != '\n'); // 清除输入缓冲区
            continue;
        }

        switch (op) {
            case 1:
                member_reg();
                break;
            case 2:
                member_del();
                break;
            case 3:
                Edit_Membership_Data();
                break;
            case 4:
                // 查看会员信息 - 需要实现相关功能
                member_query();
                break;
            case 5:
                printf("预留功能5暂未实现！\n");
                break;
            case 6:
                printf("预留功能6暂未实现！\n");
                break;
            case 7:
                printf("预留功能7暂未实现！\n");
                break;
            case 0:
                printf("退出管理员系统。\n");
                break;
            default:
                printf("操作无效！\n");
        }

        // 如果输入的操作不是0，则执行完操作后暂停一下
        if (op != 0) {
            press_any_key(); // 按任意键继续
            system("clear");  // 清屏
        }
    } while (op != 0);
}




void member_query()
{
        printf("请输入您要查询的会员卡号/会员ID/手机号：");
        char a[50];
        scanf("%s", a);
	getchar();

        FILE* fp = fopen("./data/member_info.dat", "rb+");
	if(fp == NULL)
	{
		printf("打开文件失败\n");
		return;
	}

	member_info mi;
	int found = 0;
	while( fread(&mi , sizeof(member_info) , 1 , fp) == 1 )
	{
		if( (strcmp(a , mi.card_num) == 0 || atol(a) == mi.mid || strcmp(a , mi.phone) == 0 )&& mi.delete_state == 0)
		{
			found = 1;
			break;
		}
	}


        if(found)
	{
		printf("\n会员信息：\n\n\n");
		print_member_info(&mi);
	}
	else
	{
		printf("\n未找到该会员信息!\n");
	}

        fclose(fp);
}

